iT邦幫忙

2022 iThome 鐵人賽

DAY 3
0
自我挑戰組

遊戲中的冰山一角-網路連線系列 第 3

Day03-遊戲連線基礎(2)

  • 分享至 

  • xImage
  •  

承上一篇所說在C/S的模型下玩家能與中央伺服器進行資訊的交流、驗證與同步,但是怎麼傳送資料的呢?對於遊戲開發上其中比較會專注的就是TCPUDP這兩個通訊協定。

TCP:

  • 面向連接協議
  • 檢測傳輸是否有誤,是種可靠的傳輸方法
  • 整體設計較複雜,在傳輸上速度較慢
  • 會控制傳輸流量
  • 應用:電子郵件、瀏覽網頁、檔案傳輸

UDP:

  • 無連線協議
  • 無檢測功能,雖然非可靠傳輸方法但會不斷發送數據包
  • 因為不須檢查正確性,在傳輸上較快
  • 不控制流量,會不斷傳送與丟棄
  • 應用:線上串流,線上遊戲(下面會有更多解釋),簡單檔案傳輸

簡單的總結來說TCP就是時間換取正確性反之UDP是正確性換取時間,那對於多人遊戲開發而言哪種通訊協議比較好呢?端看是要開發哪種類型的遊戲,若是需要即時反應的如對戰類的遊戲,UDP就會是比較適合的通訊協議,而TCP則作為輔助,而像是回合類不需要太多瞬間反應的遊戲則反之。

在遊戲上比較大宗的還是以UDP會主,TCP則作為輔助為的就是確保不會delay太久。

這裡還可以在提到一個跟以上兩種通訊協定相關的東西,Socket,他是一種API用於調用上述兩種通訊協議的窗口,其本身不屬於通訊協議的一部分,因此事實上在開發遊戲時真正在決定要用哪種協定就是以Socket的內容來做決定。
https://ithelp.ithome.com.tw/upload/images/20220903/20151289qCdXK87Ton.jpg

下一章會分析一些在遊戲上確實應用的連線方式。


上一篇
Day02-遊戲連線基礎(1)
下一篇
Day04-遊戲連線基礎(3)
系列文
遊戲中的冰山一角-網路連線30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言